home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / terms / kermit / b / ckvins.doc < prev    next >
Encoding:
Text File  |  1993-08-12  |  28.9 KB  |  723 lines

  1. C-KERMIT 5A INSTALLATION INSTRUCTIONS FOR VMS and OpenVMS           -*-text-*-
  2.  
  3.   5A(189)
  4.   Most Recent Update: Thu Aug 12 13:57:17 1993
  5.  
  6.   F. da Cruz, C. Gianone, Columbia University, New York, NY
  7.   Terry Kennedy, Saint Peters College, Jersey City, NJ
  8.   And: Peter Mossel, James Sturdevant
  9.  
  10.   Copyright (C) 1985, 1993, Trustees of Columbia University in the City of New
  11.   York.  The C-Kermit software may be reproduced and shared without
  12.   restriction as long as this copyright notice is retained, except that it may
  13.   not be licensed or sold for profit as a software product itself, and it may
  14.   not be included in or distributed with commercial products or otherwise
  15.   distributed by commercial concerns to their clients or customers without
  16.   written permission of the Office of Kermit Development and Distribution,
  17.   Columbia University.
  18.  
  19.  
  20. DISCLAIMER:
  21.  
  22.   The C-Kermit software is provided in source code form by Kermit Development
  23.   and Distribution, Columbia University.  The software is provided "as is;" no
  24.   other warranty is provided, express or implied, including without
  25.   limitations, any implied warranty of merchantability or implied warranty of
  26.   fitness for a particular purpose.
  27.  
  28.   "VMS" as used in this document refers to both VMS and OpenVMS on VAX
  29.   processors and OpenVMS on Alpha AXP processors.  Most of the words in the
  30.   previous sentence are trademarks (TM) of Digital Equipment Corporation.
  31.  
  32.   Neither Columbia University nor any of the contributors to the C-Kermit
  33.   development effort, including, but not limited to, AT&T, Digital Equipment
  34.   Corporation, Data General Corporation, International Business Machines
  35.   Corporation, or Saint Peters College warrant C-Kermit software or
  36.   documentation in any way.  In addition, neither the authors of any Kermit
  37.   programs, publications or documentation, nor Columbia University nor any
  38.   contributing institutions or individuals acknowledge any liability resulting
  39.   from program or documentation errors.
  40.  
  41.  
  42. DOCUMENTATION
  43.  
  44. C-Kermit 5A is documented in the book "Using C-Kermit" by Frank da Cruz
  45. and Christine M. Gianone, Digital Press, Burlington, MA, USA.  Digital
  46. Press ISBN: 1-55558-108-0; Prentice-Hall ISBN: 0-13-037490-3.  Price: US
  47. $34.95.  In USA, call DECdirect at 1-800-344-4825, refer to order number
  48. EY-J896E-DP.
  49.  
  50.  
  51. CONFIGURING VMS FOR BEST RESULTS WITH KERMIT
  52.  
  53.   1. TERMINAL BUFFER SIZE
  54.  
  55. VMS is shipped with default installation parameters designed to function on
  56. all possible configurations.  Some of these parameters have not been changed
  57. since the "average" VMS system was a VAX-11/780 with 1Mb of memory.
  58.  
  59. The main parameter that affects Kermit is the terminal type-ahead buffer size,
  60. which applies to serial terminal devices (with the TT or TX prefix).  There
  61. are two possible values in VMS - the "normal" size and the "alternate" size.
  62. The defaults for these are 78 and 200 bytes, respectively.  If more data
  63. arrives at the terminal driver than these buffers can hold (which is a likely
  64. occurrence during file transfer), it will be discarded and file transfers will
  65. be slowed down or terminated by errors.
  66.  
  67. This is most frequently seen when receiving files on a slow VAX, particularly
  68. when using long packets and/or sliding windows.  File reception requires
  69. larger system buffers (to hold arriving packets), and the speed of the VAX
  70. controls how quickly Kermit can empty them.
  71.  
  72. The recommended minimum size for each of these buffers is the number shown as
  73. "Buffer size" by the C-Kermit SHOW PROTOCOL command, which is the total amount
  74. of memory allocated by C-Kermit for packet buffers (window slots times packet
  75. length).  VMS C-Kermit is shipped with a buffer size of 9065, which can be
  76. altered by the user with a SET BUFFERS command.
  77.  
  78. To change the values of the VMS typeahead buffer sizes, you should edit the
  79. file SYS$SYSTEM:MODPARAMS.DAT.  Determine the new values you want to use and
  80. add lines like the following to the end of the MODPARAMS.DAT file:
  81.  
  82.   MIN_TTY_TYPAHDSZ = new_value_for_regular    ! For VMS C-Kermit
  83.   MIN_TTY_ALTYPAHD = new_value_for_alternate    ! For VMS C-Kermit
  84.  
  85. for example:
  86.  
  87.   MIN_TTY_TYPAHDSZ = 2064
  88.   MIN_TTY_ALTYPAHD = 2064
  89.  
  90. The TTY_ALTYPAHD size should be at least as great as the TTY_TYPAHDSZ.
  91. Digital recommends a value of 2064 or greater for TTY_ALTYPAHD if you are
  92. running VMS V5.5 or higher, or if you are running the optional LATmaster code
  93. under VMS V5.4-1, -2, or -3.
  94.  
  95. You should also examine this file to be sure there aren't any other
  96. definitions for TTY_TYPAHDSZ or TTY_ALTYPAHD.  If there are, you'll get
  97. warning messages in the next step.
  98.  
  99.     You may wish to simply set TTY_TYPAHDSZ=TTY_ALTYPAHD=2064, since
  100.     most common VMS "TTY ports" these days are actually LAT or TCP/IP
  101.     devices, which cannot easily be configured to use the alternate
  102.     buffer.  Also, it takes a privileged user or program to set a port
  103.     to use the alternate buffer, and since we do not recommend
  104.     installing Kermit with privileges, this would restrict Kermit access
  105.     to privileged users.
  106.  
  107.     Let's consider a medium-sized VAX with perhaps 64 "ports" (either
  108.     serial ports or LAT or TCP/IP network ports).  This system probably
  109.     has at least 16 megabytes of memory.  Configuring TTY_TYPAHDSZ to
  110.     2064 will take up 64 * 2064 bytes of memory, or 132096 bytes.  This
  111.     is less than 1 per cent of available memory.  Most systems would
  112.     have more than 16Mb of memory for 64 simultaneous users, lowering
  113.     the percentage even further.
  114.  
  115. In some cases, it might also be necessary to increase your system's MAXBUF
  116. parameter.  It should be somewhat longer than the longest packet you want
  117. Kermit to be able to send or receive, to allow for SYS$QIO overhead (the
  118. bigger the value, the more overhead).  DEC currently recommends 2300, which
  119. should be sufficient for 2K (2048-byte) packets.  If you want to use
  120. C-Kermit's maximum packet length, 9024, then your MAXBUF should be set to
  121. about 12000.
  122.  
  123. To have these changes take effect, run the "AUTOGEN" procedure:
  124.  
  125.   @SYS$UPDATE:AUTOGEN GETDATA SETPARAMS
  126.  
  127. This incorporates the new buffer sizes into the system configuration, and they
  128. will take effect the next time the system is reloaded.
  129.  
  130. To examine your system parameters:
  131.  
  132.   run sys$system:sysgen
  133.   SYSGEN> use current
  134.   SYSGEN> show maxbuf                (should be at least 2064)
  135.   SYSGEN> show virtualpagecnt        (should be at least 50000)
  136.   SYSGEN> show /tty                  (TTY_ALTYPAHD should be at least 2064)
  137.  
  138. In an emergency, or for testing purposes, you can also change your MIN_MAXBUF
  139. value "on the fly":
  140.  
  141.   $ run sys$system:sysgen
  142.   SYSGEN> set maxbuf 2300
  143.   SYSGEN> write current
  144.   SYSGEN> exit
  145.  
  146. This operation should be used with caution, and should probably NOT be used
  147. with values greater than about 3000.  The AUTOGEN procedure is safer because
  148. it understands the relationships among the major parameters.
  149.  
  150.   2. USER QUOTAS AND PRIVILEGES
  151.  
  152. C-Kermit communications are also affected by the user's BYTLM quota and
  153. possibly also the process page quota (PGFLQUO).  In modern versions of VMS,
  154. the default BYTLM quota is 8192, which should normally be adequate.  If
  155. C-Kermit users experience error messages informing them that a quota was
  156. exceeded during terminal emulation or file transfer, the system manager should
  157. increase the user's BYTLM and/or process page quota.  To find out the user's
  158. quotas, the system manager should:
  159.  
  160.   set default sys$system
  161.   run authorize
  162.   UAF> show <username>
  163.  
  164. Then look for the relevant quotas and adjust them as required.  The BYTLM
  165. quota should be somewhat greater than the product of Kermit's window size
  166. and packet size, for example, 8192 for 4 window slots and 2000-byte-packets.
  167. PGFLQUO should be 20,000 or higher.
  168.  
  169. If users will be using C-Kermit's PUSH command or issuing REMOTE commands (such
  170. as REMOTE DIR) to the VMS C-Kermit server, the user will need to have the
  171. ability to create subprocesses (AUTHORIZE parameter PRCLM).  If Kermit will
  172. itself be invoked as a subprocess (for example, from within a menu system) this
  173. should be considered as well.  Kermit uses local mailboxes for remote command
  174. execution, so users will also need the TMPMBX privilege if these commands are
  175. to be used.
  176.  
  177.   3. CONFIGURING SERIAL COMMUNICATION PORTS
  178.  
  179. If your system has a port that is frequently used for file transfers (for
  180. example, with a modem), you should have your system manager enable the
  181. alternate type-ahead buffer by placing the command:
  182.  
  183.   $ SET TERMINAL ddcu:/PERMANENT/ALTYPEAHD
  184.  
  185. in the system-wide startup command file, where ddcu: is the name of the
  186. device, for each such device.
  187.  
  188. If the device is connected to a modem, and is to be used for dialing out,
  189. also include the /MODEM qualifier:
  190.  
  191.   $ SET TERMINAL ddcu:/PERMANENT/ALTYPEAHD/MODEM
  192.  
  193. If it is not connected to a modem or other data communications device that
  194. follows the RS-232 signalling conventions, you might have to set the /NOMODEM
  195. qualifier instead:
  196.  
  197.   $ SET TERMINAL ddcu:/PERMANENT/ALTYPEAHD/NOMODEM
  198.  
  199. Additionally, for non-privileged users to access a terminal device, they need
  200. to be granted access to it.  The default for terminals is access only by users
  201. with SYSTEM privileges (UIC group less than or equal to MAXSYSGROUP, or with
  202. SYSPRV privilege).  See the VMS documentation for the SET PROTECTION command
  203. for more information.  Note that if you grant everyone access to the port,
  204. anyone can make phone calls via the modem, so you might want to limit this to
  205. particular users, possibly by using a device ACL (VMS V5.0 and later only).
  206.  
  207.  4. LAT DEVICES
  208.  
  209. LAT ports present additional complications.  Most LAT problems are not in
  210. Kermit, but can be reproduced using the SET HOST/DTE command or the SET HOST
  211. /LAT command. The VMS LAT documentation contains information on configuring
  212. LAT ports and troubleshooting problems.  Your terminal server might have come
  213. with additional documentation.
  214.  
  215. Experience shows that it is difficult to properly configure a LAT port to
  216. handle both incoming and outgoing connections.  Therefore seperate LAT ports
  217. are recommended for incoming and outbound connections.
  218.  
  219.  5. CAPTIVE ACCOUNTS
  220.  
  221. Some VMS sites restrict users from getting at the DCL prompt and services by
  222. setting their accounts to be "captive".  This should automatically prevent
  223. C-Kermit's DCL-access commands (such as PUSH) from working.  Any attempt to
  224. execute such a command should result in C-Kermit issuing an error message.
  225. Should a user circumvent this, VMS will automatically terminate the user's
  226. process.  In addition to CAPTIVE, accounts can also be set to RESTRICTED, to
  227. disable all types of spawning.  Note that DEC says that RESTRICTED is only
  228. used "to ensure users complete login processing without interruption". DEC
  229. further states that they intend to modify VMS utilities to no longer prohibit
  230. spawning in a future release.
  231.  
  232. Further, you should be aware that preventing users from getting to DCL only
  233. provides an illusion of security. There are many ways of getting to DCL which
  234. are non-obvious. For cases where absolute security is required, you should in-
  235. vestigate the AUTHORIZE flags CAPTIVE and DISIMAGE. Consult the VMS Security
  236. Manual for more information.
  237.  
  238. C-Kermit itself can be configured to prevent system access, by compiling it
  239. with the NOPUSH option, for example:
  240.  
  241.    $ localopts = "/define=(""NOPUSH"")"
  242.    $ @ckvker.com
  243.  
  244. This disables not only the PUSH command and its synonyms (RUN, @, SPAWN), but
  245. also OPEN !READ, OPEN !WRITE, as well as the server's execution of REMOTE HOST
  246. commands.  See CKCCFG.DOC for further information.
  247.  
  248.  
  249. DECODING VMS C-KERMIT HEX FILES
  250.  
  251. If you have obtained the executable VMS C-Kermit program encoded in printable
  252. "hex" format on magnetic tape or over a network, you can decode it back into a
  253. runnable .EXE program image using the CKVDEH.MAR program.  This is an
  254. assembly-language program for the VAX or Alpha AXP, which you should assemble,
  255. link, and run as follows:
  256.  
  257.   $ macro ckvdeh  (on the Alpha AXP, substitute "macro/migrate ckvdeh")
  258.   $ link ckvdeh
  259.   $ run ckvdeh
  260.  
  261. CKVDEH prompts you for the input and output file names.  This procedure works
  262. on both the VAX and the Alpha AXP -- the same program, CKVDEH.MAR, compiles
  263. and runs on both platforms.
  264.  
  265. The C-Kermit .EXE files were built under VAX/(Open)VMS 5.x and Alpha AXP
  266. OpenVMS 1.x.  The VAX versions will not run under pre-5.0 VAX/VMS releases.
  267.  
  268. Since VMS C-Kermit can be built with no TCP/IP support or with support for
  269. several different TCP/IP packages, and it can be built on both the VAX and
  270. Alpha AXP platforms, you should pick the right .HEX file for your environment:
  271.  
  272.   TCP/IP Product                  VAX            Alpha AXP
  273.  
  274.    none                           CKVKER.HEX     CKVAXP.HEX
  275.    DEC TCP/IP (UCX)               CKVVUCX.HEX    CKVAUCX.HEX
  276.    TGV MultiNet                   CKVVTGV.HEX   *CKVATGV.HEX
  277.    Wollongong WIN/TCP (PathWay)   CKVVWIN.HEX   *CKVAWIN.HEX
  278.    Process Software TCPware      *CKVVPST.HEX   *CKVAPST.HEX
  279.  
  280.    Labeled file converter:        CKVCVT.HEX     CKVACVT.HEX
  281.  
  282. (*At this writing, these hex files are not yet available.)
  283.  
  284. NOTE: The TGV MultiNet version can be compiled and linked successfully on
  285. the Alpha AXP, but it cannot make TCP/IP connections succesfully.  However,
  286. the Alpha AXP UCX version also works with MultiNet on the Alpha AXP.
  287.  
  288.  
  289. BUILDING VMS C-KERMIT FROM THE SOURCE CODE
  290.  
  291. C-Kermit is written in the C programming language.  To build C-Kermit on the
  292. VAX, you must have VAX C 3.0 or later, or GNU GCC.  VAX C has undergone a
  293. large number of changes during its lifetime.  Some header files may be missing
  294. in earlier versions.  VMS C-Kermit was developed using VAX C V3.2 and VMS
  295. V5.5, but it was designed to work on earlier systems, back to VMS 4.4 and VMS
  296. C 3.0, if built in those environments (testing is needed for verification).
  297. Please report any problems building C-Kermit on older VMS/C configurations
  298. they can be fixed (or at least documented as problems).
  299.  
  300. The User Authorization File (UAF) parameters of the account in which C-Kermit
  301. will be built must be set to accomodate the large size of some source modules.
  302. Recommended values are:
  303.  
  304.   PAGE FILE QUOTA:  at least 60000
  305.   Working set extent:  at least 5012
  306.  
  307. To modify: Suppose a user KERMIT is the VMS account from which Kermit is
  308. maintained.  To set these values, the system manager must do the following:
  309.  
  310.   $ set default sys$system
  311.   $ mcr authorize
  312.   UAF> modify kermit/pgflquo=60000/wsextent=5012
  313.   UAF> exit
  314.  
  315. If errors such as:
  316.  
  317.   %cc-f-text Virtual Memory limits exceeded
  318.  
  319. occur during the build procedure, these parameters may need adjustment
  320. (upwards).
  321.  
  322. To build C-Kermit, create a new directory and make it your current directory:
  323.  
  324.   $ CREATE/DIR [.KERMIT]
  325.   $ SET DEFAULT [.KERMIT]
  326.  
  327. and put the C-Kermit source files and build procedures there, for example by
  328. copying them from the distribution tape or cartridge.
  329.  
  330. Two build procedures are provided.  You can use either one:
  331.  
  332. 1. For those with VMS MAKE (available from DECUS, written by Todd Aven of the
  333.    Software Sweatshop in Long Beach, NY, and also distributed with VMS
  334.    C-Kermit on magnetic tape or cartridge by Columbia University; to install
  335.    it, follow the directions in CKVMAK.HLP), a makefile is supplied, called
  336.    CKVKER.MAK, originally written by Terry Kennedy of Saint Peters Collge,
  337.    Jersey City, New Jersey.  The makefile is CKVKER.MAK.  Rename it to
  338.    MAKEFILE. (note the period):
  339.  
  340.    $ RENAME CKVKER.COM MAKEFILE.
  341.  
  342.    To build C-Kermit with DEC C, type (but don't do it yet -- first read about
  343.    network options below): 
  344.  
  345.    $ MAKE
  346.  
  347.    at the DCL prompt (shown as $).  To build C-Kermit with GNU C, type:
  348.  
  349.    $ MAKE GKERMIT
  350.  
  351.    Use MAKE if you plan to be editing the source files and rebuilding C-Kermit
  352.    periodically.  This eliminates the need to recompile source files that have
  353.    not been changed.
  354.  
  355. 2. The CKVKER.COM DCL command procedure.  This procedure unconditionally
  356.    compiles and links all the source modules into WERMIT.EXE.  This procedure
  357.    can be used on any VAX that has suitable versions of VMS and C, and it is
  358.    the procedure you would normally use if you do not intend to be modifying
  359.    the source code after building the program.  To build C-Kermit with the
  360.    DCL procedure, type:
  361.  
  362.    $ @CKVKER
  363.  
  364.    NOTE: CKVKER.COM should not be edited except for strictly local purposes.
  365.    It is generated automatically from CKVKER.MAK by:
  366.    
  367.    $ MAKE/KEEP/NOEXECUTE/FORCE/OUT=CKVKER.COM
  368.  
  369.    All changes of a global nature should be made to the makefile and then a
  370.    new CKVKER.COM generated from it as shown.
  371.  
  372.    ANOTHER NOTE: As of this writing, CKVKER.COM must be used on Alpha AXP
  373.    systems since the VMS MAKE program has not yet been adapted to the AXP.
  374.  
  375. If you have the DEC FORTRAN 6.0 library, UVMTHRTL.EXE, installed, the
  376. resulting KERMIT.EXE file will not run on VMS systems that have an older
  377. FORTRAN library, or lack one altogether:
  378.  
  379.   %DCL-W-ACTIMAGE, error activating image MTHRTL
  380.   -CLI-E-IMGNAME, image file $1$DIA0:[SYS1.SYSCOMMON.][SYSLIB]UVMTHRTL.EXE
  381.   -SYSTEM-F-SHRIDMISMAT, ident mismatch with shareable image
  382.  
  383. The new FORTRAN library has a different identifier.  To link with the old
  384. version of the FORTRAN, two possibilities exist:
  385.  
  386.   1) Link with SYS$LIBRARY:STARLET/LIB which uses NO shareable images.
  387.  
  388.   2) Perform two defines prior to linking (this causes warning messages)
  389.  
  390.      DEFINE/USER MTHRTL FORTRAN$MTHRTL-VMS
  391.      DEFINE/USER VMTHRTL FORTRAN$VMTHRTL-VMS
  392.  
  393. The second option has been tested successfully on a VAX/VMS system that
  394. has neither FORTRAN nor C installed.
  395.  
  396.  
  397. CUSTOMIZING THE BUILD PROCEDURE
  398.  
  399. If you have a DCL symbol "localopts" (case doesn't matter) defined when you
  400. use either the makefile or the .COM file, the contents of that symbol will be
  401. added to the C compiler command line after the existing options.  You can use
  402. any legal CC compiler option there.  For example, if you want to override a
  403. siteopts definition, you can add:
  404.  
  405.   $ LOCALOPTS = "/UNDEFINE=(""DYNAMIC"")"
  406.   $ MAKE
  407.     -- or --
  408.   $ @CKVKER
  409.  
  410. Note the doubled quotes because they're inside a symbol definition.  If you
  411. don't have a LOCALOPTS symbol, the null string is used.  LOCALOPTS is
  412. evaluated in the generated .COM file, so it works for both the makefile and
  413. the .COM file.
  414.  
  415. Read CKCCFG.DOC for further information about compile-time options for feature
  416. selection.
  417.  
  418.  
  419. VMS TCP/IP NETWORKING SUPPORT FOR C-KERMIT
  420.  
  421. VMS C-Kermit is capable of establishing TCP/IP TELNET connections and acting
  422. as a TELNET program with built-in file transfer, script programming,
  423. character-set translation, etc, if it is built appropriately.  If you have one
  424. of the following products installed on your system, complete with libraries
  425. and header files:
  426.  
  427.   1. DEC TCP/IP (UCX)
  428.   2. TGV MultiNet TCP/IP
  429.   3. Wollongong WIN/TCP
  430.   4. Wollongong PathWay
  431.   5. Process Software TCPware
  432.  
  433. then you can include TCP/IP capability in your version of VMS C-Kermit.
  434.  
  435. The TCP/IP product is selected automatically by the build procedure based on
  436. the presence or absence of certain files on your system.  To override the
  437. automatic selection, define the symbol NET_OPTION in one of the following ways
  438. before running the build procedure:
  439.  
  440.   $ NET_OPTION = "NONET"      ! Build with no TCP/IP networking support
  441.   $ NET_OPTION = "DEC_TCPIP"  ! Build with DEC TCP/IP (UCX) support
  442.   $ NET_OPTION = "MULTINET"   ! Build with TGV MultiNet TCP/IP support
  443.   $ NET_OPTION = "WINTCP"     ! Build with WIN/TCP or PathWay support
  444.   $ NET_OPTION = "TCPWARE"    ! Build with Process Software TCPware support
  445.  
  446. That is, type one of the commands listed above at the DCL prompt (shown above
  447. as "$") before running the build procedure.
  448.  
  449. DEC TCP/IP (UCX)
  450.  
  451. If the DEC TCP/IP version of KERMIT.EXE crashes immediately upon startup
  452. with a message like:
  453.  
  454.   %LIB-E-ACTIMAGE, error activating image
  455.    R4GRIE$DIA0:[SYS0.SYSCOMMON.][SYSLIB]UCX$IPC_SHR.EXE;1
  456.   -SYSTEM-F-PRIVINSTALL
  457.  
  458. it means the system manager has to install the UCX sharable library:
  459.  
  460.   INSTALL ADD SYS$SHARE:UCX$IPC_SHR.EXE
  461.  
  462. WOLLONGONG TCP/IP
  463.  
  464. Wollongong support should work for both new (PathWay) and older (WIN/TCP)
  465. versions, and C-Kermit versions linked under older Wollongong versions should
  466. still run under the newer version.  But note that the pieces of the Wollongong
  467. package are now unbundled -- you have to buy the runtime, access, API, etc,
  468. pieces separately, and (of course) you need the API to compile C-Kermit with
  469. Wollongong TCP/IP support.
  470.  
  471. If you are building with Wollongong TCP/IP, and you have the TCP/IP libraries
  472. and header files, but the #include files can't be found, then you need to
  473. unpack the WIN/TCP include-file library into separate files using the VMS
  474. LIBRARY command.
  475.  
  476. TGV MULTINET
  477.  
  478. If your VAX has the TGV MultiNet TCP/IP networking product, both procedures
  479. automatically build C-Kermit with MultiNet TCP/IP support included.  However:
  480.  
  481. . In older (pre-V3.1) MultiNet installations, the header files might not be
  482.   installed.  Without these, C-Kermit will not build correctly.  The system
  483.   manager can add Multinet 3.1 programming support by installing MNETLIB031
  484.   from the Multinet distribution, if licensed to do so.
  485.  
  486. . Anyone building the VMS version with certain versions of TGV MultiNet
  487.   support under VAX C 3.1 might get an error message about conficting
  488.   definitions of "time_t".  This is because of a conflict between DEC's
  489.   <types.h> and MultiNet's <types.h> caused because DEC changed the definition
  490.   between VAX C 3.0 and 3.1.  Kermit can't do anything about this because
  491.   CKVTIO.C #includes <time.h>, which itself includes <types.h>.  The warning
  492.   is not fatal.
  493.  
  494.  
  495. INSTALLING VMS C-KERMIT
  496.  
  497. Until (and unless) the VMSINSTAL kits are ready (see below), VMS C-Kermit must
  498. be installed on your VMS system by hand.  (NOTE: It is not yet certain that
  499. there ever will be VMSINSTAL kits, since they would have to include many
  500. megabytes of differently-configured executables to choose from, plus the fact
  501. that many of system-configuration items discussed above are best done by the
  502. system manager manually, in privileged mode, after some thought and
  503. consideration).
  504.  
  505. IMPORTANT:
  506.  
  507. DO NOT INSTALL VMS C-KERMIT AS A PRIVILEGED PROGRAM!  Instead, install it as a
  508. foreign command.
  509.  
  510. To install C-Kermit, follow this procedure:
  511.  
  512.  1. If you have the old Bliss Kermit-32 on your system, rename it to
  513.     KERMIT32.  If you have a symbol KERMIT defined to run Kermit-32, 
  514.     change the symbol name to KERMIT32.
  515.  
  516.  2. Identify the directory where you want to install the C-Kermit program.
  517.     Normally this would be a directory that is unaffected by installation
  518.     of DEC software, such as SYS$TOOLS = SYS$SYSDEVICE[SYSTOOLS].  From now
  519.     on, we will assume you are using SYS$TOOLS:.
  520.  
  521.  3. Copy WERMIT.EXE to that directory, rename it to KERMIT.EXE, and give users
  522.     permission to run it, for example:
  523.   
  524.     $ COPY WERMIT.EXE SYS$TOOLS:KERMIT.EXE
  525.     $ SET PROTECTION (S:RWED,O:RWED,G:RE,W:RE) SYS$TOOLS:KERMIT.EXE
  526.     
  527.  3. Copy the standard CKERMIT.INI file to the same directory:
  528.  
  529.     $ COPY CKERMIT.INI SYS$TOOLS:
  530.     $ SET PROTECTION (S:RWED,O:RWED,G:RE,W:RE) SYS$TOOLS:CKERMIT.INI
  531.  
  532.  4. Add the following line to SYS$COMMON:[SYSMGR]SYSTARTUP_V5.COM (or
  533.     whatever your system startup file is):
  534.  
  535.     $ DEFINE/SYSTEM CKERMIT_INI SYS$TOOLS:CKERMIT.INI
  536.  
  537.  5. Find your system-wide login DCL command procedure:
  538.  
  539.     $ SHOW LOGICAL SYS$SYLOGIN
  540.     "SYS$SYLOGIN" = "SYS$TOOLS:SYLOGIN.COM" (LNM$SYSTEM_TABLE)
  541.  
  542.     and then add the following line to it:
  543.  
  544.     $ KERMIT :== $SYS$TOOLS:KERMIT
  545.  
  546.  6. Install the C-Kermit HELP file in your VMS HELP library.  First delete any
  547.     earlier KERMIT help entry, then install the new one:
  548.  
  549.     $ LIBRARY/HELP/DELETE=KERMIT SYS$HELP:HELPLIB.HLB 
  550.     $ LIBRARY/INSERT/HELP SYS$HELP:HELPLIB.HLB CKVKER.HLP
  551.  
  552.  7. Create a publicly accessible directory, such as [KERMIT], in which to make
  553.     other C-Kermit files available to your users:
  554.  
  555.     CKERMIT.KDD
  556.       Sample dialing directory file.
  557.     CKERMIT.KSD
  558.       Sample services directory.
  559.     CKEDEMO.INI
  560.       Macro definitions from "Using C-Kermit".
  561.     CKEVT.INI
  562.       Command file to demonstrate special screen effects from "Using C-Kermit".
  563.     CKCKER.UPD
  564.       A supplement to the book, "Using C-Kermit", describing features added
  565.       since the book was published.
  566.     CKCKER.BWR
  567.       The general C-Kermit beware file.
  568.     CKVKER.BWR
  569.       The VMS-specific C-Kermit beware file.
  570.  
  571.  
  572. CASE STUDY: ALPHA AXP SETUP AND TEST RESULTS
  573.  
  574.   (by Peter Mossel)
  575.  
  576. Model number:  DEC3000/400, a workstation with 64MB of memory.
  577. Ports used:    OPA1: (a MMJ connector for the alternate operator console)
  578.                TTA1: (a 25-pin male D-connector on the back)
  579. Operating System:  OpenVMS AXP V1.0
  580. Firmware:  V1.1
  581.  
  582. Upon power-up, the console displays something like:
  583. ...
  584. CPU   OK  KN15-BA V1.1-S11A IO20 sV1.0 DECchip 21064 P2.1
  585. ...
  586.  
  587. Testing setup 1:  OPA1:
  588.  
  589. +-------+
  590. |     MMJ--- DECconnect cable ---MMJ H8571-A--- modem cable to PC
  591. +-------+                            (passive adapter)
  592.  
  593. In words, plug a DECconnect cable with MMJ plugs on both ends in the
  594. alternate console port on the back of the DEC3000/400.  Make sure S3 is
  595. in the "up" position.  The workstation screen is now the console (OPA0:)
  596. and the extra port, OPA1:, is available for connecting a terminal or
  597. printer.  This MMJ plug is the only MMJ plug on the back of this machine.
  598.  
  599. My other host for the test is a DECpc 466, a 66MHz i486 with DOS 5.0 and
  600. MS-DOS Kermit 3.12.  The 466 has 2 serial ports, both 9-pin.  I attached a
  601. standard 9-pin to 25-pin modem cable (the ones that came into existence with
  602. the IBM PC/AT which originally had only a 9-pin serial port) to the serial
  603. port on the 466.
  604.  
  605. Now we must join a 25-pin connector and a MMJ connector.  This is done with a
  606. passive adapter (H8571-A) which converts the RS423 signalling standard
  607. (balanced TX+ TX- RX+ RX-, DTR, DSR) to RS-232.  All this is fairly standard
  608. for DEC sites.  Note that when connecting a modem to an MMJ connector, we have
  609. only a subset of the required modem signals, so this is not supported via MMJ.
  610. The other port (TTA1) has full modem control.  Note that the DECconnect cable
  611. always reverses TX and RX, so it effectively functions as a NULL-modem cable.
  612.  
  613. Testing setup 2:  TTA1
  614.  
  615. +-------+
  616. |     25-pin D connector --- NULL modem cable to PC
  617. +-------+                            
  618. Use the (only) 25-pin D-connector on the back.  Now we need a null modem
  619. cable (see the Kermit book), and, because my PC has a 9-pin serial
  620. port, I also need a 9-pin to 25-pin modem cable.
  621.  
  622. Testing setup 3:  LAT
  623.  
  624. Connect the PC with a standard cable to the terminal server, which speaks
  625. LAT to my DEC3000/400.  The speed can be set up to 19200 baud with the
  626. terminal server in use.
  627.  
  628. Test script for setup 1 and 2:
  629.  
  630. On DEC3000:
  631. $ kermit
  632. C-Kermit>set line xxx
  633.    (where xxx is OPA1 or TTA1)
  634. C-Kermit>set speed 19200
  635.  
  636. On the PC
  637. C:\kermit
  638. MS-Kermit>set port 1
  639. MS-Kermit>set speed 19200
  640. MS-Kermit>server
  641.  
  642. On the DEC3000:
  643. C-Kermit>get test.fil
  644. C-Kermit>finish
  645.  
  646. On the PC
  647. MS-Kermit>quit
  648.  
  649. Test script for setup 3 (LAT):
  650. On the PC
  651. C:\kermit
  652. MS-Kermit>set port 1
  653. MS-Kermit>set speed 19200
  654. MS-Kermit>connect
  655.  
  656. [ Now log into DEC3000 as host ]
  657.  
  658. $ kermit -x
  659.  
  660. [ back to the PC ]
  661.  
  662. MS-Kermit>get test.fil
  663. MS-Kermit>bye
  664.  
  665. Results:
  666.  
  667. In all three cases, the data transfer speed is excellent.  Over 80% of the
  668. bandwidth of the communication channel is used for the file transfer,
  669. sometimes even more.  The DEC3000 is loaded with processes (MOTIF, Sybase
  670. DBMS, NFS clients and servers,...) and heavy network activity (DECnet, LAT,
  671. TCP/IP but no characters have ever been lost, even when the DBMS fires up.  No
  672. special SYSGEN parameters, just configured for a normal workstation with
  673. MOTIF.
  674.  
  675. Notes:
  676.  
  677. 1.  Device protection
  678.  
  679. In a system like this out of the box, the device protection on TTA1 and
  680. OPA1 does not allow an unprivileged user to use these lines for DIAL-OUT
  681. from Kermit.  Thus, the system manager must set every time the system is
  682. rebooted:
  683.  
  684.   $ set protection=w:rwlp/device OPA1: 
  685.   $ set protection=w:rwlp/device TTA1:
  686.  
  687. Without these special protections, a terminal connected to these ports 
  688. will still be able to login and get the "Username:" prompt.
  689.  
  690. 2.  Console device speed
  691.  
  692. The VMS AXP V1.0 cover letter mentions that the command
  693.  
  694.   $ set terminal/speed=nnnn/perm/opa1: 
  695.  
  696. will have no effect on the speed of OPA1.  In practice, there is no problem
  697. with Kermit file transfers.  The data just get thru fine and file transfers
  698. are OK.  But Kermit gets confused when it calculates line thruput based on
  699. 300 bps.  The release notes also mention that setting the speed of OPA1 can
  700. be accomplished by setting the console environment variable "tta1_baud" to the
  701. desired speed.  See the hardware guide on how to do this.  The problem will be
  702. fixed in a future release.
  703.  
  704.  
  705. MAKING AND USING VMSINSTAL KITS
  706.  
  707. (NOTE: This section is only for future reference, in case it becomes
  708. practical to build VMSINSTAL kits for C-Kermit.  For now, please ignore.)
  709.  
  710. After building C-Kermit using one of the procedures outlined above, execute
  711. the DCL procedure CKVMSI.COM to create a VMSINSTAL kit.  This kit can be
  712. created either with or without the source code.  In any case, it includes the
  713. C-Kermit executable program, the C-Kermit help file (for installation in your
  714. HELP library), plus a sample CKERMIT.INI (C-Kermit initialization) file, and
  715. release notes.  You may now install C-Kermit using the command:
  716.  
  717.   @sys$update:vmsinstal kermit
  718.  
  719. It will prompt you for which components you want installed, and where to put
  720. them.  CKVMSI and CKVKIT were written by Terry Kennedy of Saint Peters College.
  721.  
  722. (End of file CKVINS.DOC)
  723.